package org.hcf.api.tencent.callback.info;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.hcf.api.tencent.callback.info.group.base.MessageBody;

import java.util.List;

@Slf4j
@Data
/** 发单聊消息之后回调信息 */
public class FriendChatMsgInfo {
    /** 回调命令 */
    String CallbackCommand;
    /** 消息发送者 UserID */
    String From_Account;
    /** 消息接收者 UserID */
    String To_Account;
    /** 消息序列号，用于标记该条消息（32位无符号整数） */
    long MsgSeq;
    /** 消息随机数，用于标记该条消息（32位无符号整数） */
    long MsgRandom;
    /** 消息的发送时间戳，单位为秒; 单聊消息优先使用 MsgTime 进行排序，同一秒发送的消息则按 MsgSeq 排序，MsgSeq 值越大消息越靠后 */
    long MsgTime;
    /** 该条消息的唯一标识，可根据该标识进行撤回 */
    String MsgKey;
    /** 是否仅发送给在线用户标识。1代表仅发送给在线用户，否则为0 */
    byte OnlineOnlyFlag;
    /** 该条消息的发送结果，0表示发送成功，非0表示发送失败，具体可参见 错误码 */
    int SendMsgResult;
    /** 该条消息下发失败的错误信息，若消息发送成功，则为"send msg succeed" */
    String ErrorInfo;
    /** 消息体 */
    List<MessageBody> MsgBody;
    /** 消息自定义数据（云端保存，会发送到对端，程序卸载重装后还能拉取到） */
    String CloudCustomData;
    /** 事件触发的毫秒级别时间戳 */
    long EventTime;
}
